In software engineering and development, software testing is carried out on software applications and/or software systems or one of its features. Usually, a test suite is used to test the software applications and/or the software systems or one of its features. Typically, the test suite contains test cases that are a set of conditions under which a tester determines whether the one or more software applications and/or the software systems or one of its features is working as it was originally designed for it perform/function. Each of the test cases has a set of test data, preconditions, expected results and postconditions, developed for a particular test scenario in order to verify compliance against a specific requirement. It is important to use an accurate test suite along with corresponding test cases having the test scenario for testing corresponding software application and/or software systems or one of its features. In a situation, one or more test cases of a test suite may be used for testing a software application and/or software systems or one of its features. Considering a situation, where the one or more test cases may contain similar test scenario i.e. similar steps or paths of testing for the corresponding software program. Table 1 shows exemplary test suite comprising three test cases having identifications as TC_1, TC_2 and TC_3 which are used for testing a software application and/or software systems or one of its features.
TABLE 1TestCase (TC)Identifi-cation(ID)Test ScenarioTC_1Start→Navigate to Payment page→Select PaymentMethod→Pay by Store Gift Card→Pay by Plastic GiftCard→Edit Card→Multi Card Payment?-->Enter BillingAddress→Is Shipping Address Same as BillingAddress?-->Enter Shipping Address→Click OnContinue→Address Verification→ Review and PlaceOrder→Payment Authorized?-->ReSelect PaymentMethod→EndTC_2Start→Navigate to Payment page→Select PaymentMethod→Pay by Credit/Debit card→Pay by Third Party GiftCard→RemoveCard→Multi Card Payment?-->Enter BillingAddress→Is Shipping Address Same as BillingAddress?-->Enter Shipping Address→Click OnContinue→Address Verification→ Review and PlaceOrder→Payment Authorized?-->EndTC_3Start→Navigate to Payment page→Select PaymentMethod→Pay by Credit/Debit card→Pay by Store CreditCard→Edit Card→Multi Card Payment?-->Enter BillingAddress→Is Shipping Address Same as BillingAddress?-->Enter Shipping Address→Click OnContinue→Address Verification→ Review and PlaceOrder→Payment Authorized?-->End
All three test cases contain similar steps as highlighted in the illustrated table 1. In such a way, there is a level of redundancy built in the one or more test cases during testing for the software application and/or software systems or one of its features. Even though the one or more test cases contain the similar steps, the one or more test cases are executed separately for the testing which results in redundancy in the testing.
In one conventional method, black box testing is carried out for the testing. The black box testing involves testing the software application and/or software systems or one of its features without relying on the internal structure of the software application and/or software systems or one of its features. In the one conventional method, one or more test cases are used which comprise minimal paths or steps for the testing. However, such a way of testing does not solve the problem of testing using redundant test scenario of the one or more test cases.
In one conventional method, one or more test cases are prioritized based on user inputs or user requirements and then most accurate test case among the one or more test cases is selected for the testing. However, such a process is time consuming and requires multiple steps for determining the most suitable test case for particular testing process. Further, such a way does not solve the problem of testing using redundant test scenario of the one or more test cases.